package com.ruoyi.wms.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.mybatis.annotation.DataColumn;
import com.ruoyi.common.mybatis.annotation.DataPermission;
import com.ruoyi.system.domain.entity.SysUser;
import com.ruoyi.system.domain.vo.SysUserVo;
import com.ruoyi.wms.domain.entity.MailboxMessage;
import com.ruoyi.wms.domain.vo.MailboxMessageVo;
import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.wms.domain.vo.MailboxStatisticsVo;
import org.apache.ibatis.annotations.Param;

/**
 * 信件管理Mapper接口
 *
 * @author zcc
 * @date 2024-12-14
 */
public interface MailboxMessageMapper extends BaseMapperPlus<MailboxMessage, MailboxMessageVo> {
    @DataPermission({
        @DataColumn(key = "deptName", value = "dept_id"),
        @DataColumn(key = "userName", value = "user_id")
    })
    Page<MailboxMessageVo> queryPageMessageList(@Param("page") Page<MailboxMessage> page, @Param(Constants.WRAPPER) Wrapper<MailboxMessage> queryWrapper);

    int today_quantity();
    int week_qunatity();
    int month_quantity();
    int total();
    int processed_total();
    int pending_total();
    int today_processed_total();
}
